<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <meta name="generator" content="Doxygen 1.8.16" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>LEAF: LEAF/Inc/leaf-reverb.h Source File</title>
    <link href="tabs.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="dynsections.js"></script>
    <script type="text/javascript" src="../js/iframeResizer.contentWindow.min.js"></script>
    <!-- <script src="/js/template.js"></script> -->
     <link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script> 
    <link href="doxygen.css" rel="stylesheet" type="text/css" />
    <link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
    <!-- <link rel="stylesheet" href="/css/tachyons.css" type="text/css" /> -->
</head>
<body class="bg-washed-green black-70 ph0 sans-serif" onload="iframeResizePipe()">
    <div>
        <!-- do not remove this div, it is closed by doxygen! -->
        <div id="titlearea">
            <table cellspacing="0" cellpadding="0">
                <tbody>
                    <tr>
                    </tr>
                </tbody>
            </table>
        </div>
        <!-- end header part -->
    </div>
</body>
</html><!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_127e6aa213d41105176fe0c3bbb2560c.html">LEAF</a></li><li class="navelem"><a class="el" href="dir_2638202b9749e6ce2c919e410b7e2f43.html">Inc</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">leaf-reverb.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*==============================================================================</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> leaf-reverb.h</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> Created: 20 Jan 2017 12:02:04pm</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> Author:  Michael R Mulshine</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> ==============================================================================*/</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#ifndef LEAF_REVERB_H_INCLUDED</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#define LEAF_REVERB_H_INCLUDED</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    </div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;leaf-global.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;leaf-math.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;leaf-mempool.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;leaf-delay.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;leaf-filters.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;leaf-oscillators.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    </div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tPRCReverb</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    {</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        </div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        </div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keywordtype">float</span> mix, t60;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        </div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keywordtype">float</span> inv_441;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        </div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        tDelay allpassDelays[2];</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        tDelay combDelay;</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keywordtype">float</span> allpassCoeff;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordtype">float</span> combCoeff;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        </div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keywordtype">float</span> lastIn, lastOut;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    } _tPRCReverb;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">typedef</span> _tPRCReverb* tPRCReverb;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    </div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tprcreverb.html#ga1632574775fdc27565f7f938c86f0188">tPRCReverb_init</a>         (tPRCReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> t60, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tprcreverb.html#gad297a10c21ece9dbca81234144693ccb">tPRCReverb_initToPool</a>   (tPRCReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> t60, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tprcreverb.html#ga38fca3e880e0c5876453d680aa4ed02f">tPRCReverb_free</a>         (tPRCReverb* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tprcreverb.html#gac7f9a1553c85d1aefc722242a4d60df7">tPRCReverb_clear</a>        (tPRCReverb* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tprcreverb.html#ga30441f2661cf646276a33b58ade60088">tPRCReverb_tick</a>         (tPRCReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> input);</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tprcreverb.html#ga778bb9ee511e3aa263b4b368fa898e05">tPRCReverb_setT60</a>       (tPRCReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> t60);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tprcreverb.html#gacb56b78580c95fd6fefbd7346bf6e6b0">tPRCReverb_setMix</a>       (tPRCReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> mix);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    </div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    </div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tNReverb</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    {</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        </div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        </div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keywordtype">float</span> mix, t60;</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        </div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordtype">float</span> inv_sr, inv_441;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        </div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        tLinearDelay allpassDelays[8];</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        tLinearDelay combDelays[6];</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordtype">float</span> allpassCoeff;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keywordtype">float</span> combCoeffs[6];</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keywordtype">float</span> lowpassState;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        </div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">float</span> lastIn, lastOut;</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    } _tNReverb;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    </div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">typedef</span> _tNReverb* tNReverb;</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    </div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#ga3f5f7bc51b7243b388b9efce99c4d409">tNReverb_init</a>           (tNReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> t60, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#ga7706f638cebfe55b14524e4a79889046">tNReverb_initToPool</a>     (tNReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> t60, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#ga5fd99fec8124a8874fd3ac460a24f670">tNReverb_free</a>           (tNReverb* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    </div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#gaa349525bb82ec4c02de42d9571cc4bb3">tNReverb_clear</a>          (tNReverb* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tnreverb.html#gad13adebe50c0f7af789ee4866720ee41">tNReverb_tick</a>           (tNReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> input);</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#gac8ae2782156ef22133de8acd9f4fe6fa">tNReverb_tickStereo</a>     (tNReverb* <span class="keyword">const</span> rev, <span class="keywordtype">float</span> input, <span class="keywordtype">float</span>* output);</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#ga7355a61ee1185d19e9265e5e7797cf95">tNReverb_setT60</a>         (tNReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> t60);</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tnreverb.html#gab915282eb337ebbf4ced8e20827d082b">tNReverb_setMix</a>         (tNReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> mix);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    </div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    </div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tDattorroReverb</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    {</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        </div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        </div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordtype">float</span>   predelay;</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keywordtype">float</span>   input_filter;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordtype">float</span>   feedback_filter;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <span class="keywordtype">float</span>   feedback_gain;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keywordtype">float</span>   mix;</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        uint32_t frozen;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordtype">float</span>   size, size_max, t;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        </div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keywordtype">float</span>   f1_delay_2_last,</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        f2_delay_2_last;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        </div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordtype">float</span>   f1_last,</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        f2_last;</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        </div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="comment">// INPUT</span></div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        tTapeDelay  in_delay;</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        tOnePole    in_filter;</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        tAllpass    in_allpass[4];</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="comment">// FEEDBACK 1</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        tAllpass    f1_allpass;</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        tTapeDelay  f1_delay_1;</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        tOnePole    f1_filter;</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        tTapeDelay  f1_delay_2;</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        tTapeDelay  f1_delay_3;</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        tHighpass   f1_hp;</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        </div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        tCycle      f1_lfo;</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        </div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="comment">// FEEDBACK 2</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        tAllpass    f2_allpass;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        tTapeDelay  f2_delay_1;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        tOnePole    f2_filter;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        tTapeDelay  f2_delay_2;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        tTapeDelay  f2_delay_3;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        tHighpass   f2_hp;</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        </div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        tCycle      f2_lfo;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    } _tDattorroReverb;</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    </div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keyword">typedef</span> _tDattorroReverb* tDattorroReverb;</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    </div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga1fbf4d2737ea1b0b97a01178e4d1877d">tDattorroReverb_init</a>              (tDattorroReverb* <span class="keyword">const</span>, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#gae51b1343ff796699056c38c8b0284457">tDattorroReverb_initToPool</a>        (tDattorroReverb* <span class="keyword">const</span>, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga9615f3139fd6575f1195357498cf2ed7">tDattorroReverb_free</a>              (tDattorroReverb* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    </div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga7f6787dc77153fe5445aa4b463d52806">tDattorroReverb_clear</a>             (tDattorroReverb* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tdattorroreverb.html#gad857360fa2a7ec20d27256a13b3483e7">tDattorroReverb_tick</a>              (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> input);</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#gae9da039d8745027c1c477e4a2192ca49">tDattorroReverb_tickStereo</a>        (tDattorroReverb* <span class="keyword">const</span> rev, <span class="keywordtype">float</span> input, <span class="keywordtype">float</span>* output);</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#gaaab4b58c9edecbd36f8fed4676074cf4">tDattorroReverb_setMix</a>            (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> mix);</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga61767ff6ff79c978ccd31533ab528b5e">tDattorroReverb_setFreeze</a>         (tDattorroReverb* <span class="keyword">const</span> rev, uint32_t freeze);</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#gab035568f53e3afa55e7ca24770ece876">tDattorroReverb_setHP</a>             (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga8286f438259920862757bac42c208ec4">tDattorroReverb_setSize</a>           (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> size);</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga3ea62bc97dde4dfb099373a19b699024">tDattorroReverb_setInputDelay</a>     (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> preDelay);</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga58a92c0ece1d13df4b6e860c76d5bc4e">tDattorroReverb_setInputFilter</a>    (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga6bdaee9a877fb5258242b38c7129e87f">tDattorroReverb_setFeedbackFilter</a> (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> freq);</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tdattorroreverb.html#ga397ca662f24dc8850d68fb2d9f134e75">tDattorroReverb_setFeedbackGain</a>   (tDattorroReverb* <span class="keyword">const</span>, <span class="keywordtype">float</span> gain);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    </div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;}</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160; </div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">#endif  // LEAF_REVERB_H_INCLUDED</span></div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160; </div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__tdattorroreverb_html_gae9da039d8745027c1c477e4a2192ca49"><div class="ttname"><a href="group__tdattorroreverb.html#gae9da039d8745027c1c477e4a2192ca49">tDattorroReverb_tickStereo</a></div><div class="ttdeci">void tDattorroReverb_tickStereo(tDattorroReverb *const rev, float input, float *output)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:607</div></div>
<div class="ttc" id="agroup__tprcreverb_html_ga30441f2661cf646276a33b58ade60088"><div class="ttname"><a href="group__tprcreverb.html#ga30441f2661cf646276a33b58ade60088">tPRCReverb_tick</a></div><div class="ttdeci">float tPRCReverb_tick(tPRCReverb *const, float input)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:104</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_gaaab4b58c9edecbd36f8fed4676074cf4"><div class="ttname"><a href="group__tdattorroreverb.html#gaaab4b58c9edecbd36f8fed4676074cf4">tDattorroReverb_setMix</a></div><div class="ttdeci">void tDattorroReverb_setMix(tDattorroReverb *const, float mix)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:727</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga9615f3139fd6575f1195357498cf2ed7"><div class="ttname"><a href="group__tdattorroreverb.html#ga9615f3139fd6575f1195357498cf2ed7">tDattorroReverb_free</a></div><div class="ttdeci">void tDattorroReverb_free(tDattorroReverb *const)</div><div class="ttdoc">Free a tDattorroReverb from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:442</div></div>
<div class="ttc" id="agroup__tnreverb_html_ga7355a61ee1185d19e9265e5e7797cf95"><div class="ttname"><a href="group__tnreverb.html#ga7355a61ee1185d19e9265e5e7797cf95">tNReverb_setT60</a></div><div class="ttdeci">void tNReverb_setT60(tNReverb *const, float t60)</div><div class="ttdoc">Set reverb time in seconds.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:214</div></div>
<div class="ttc" id="agroup__tprcreverb_html_ga1632574775fdc27565f7f938c86f0188"><div class="ttname"><a href="group__tprcreverb.html#ga1632574775fdc27565f7f938c86f0188">tPRCReverb_init</a></div><div class="ttdeci">void tPRCReverb_init(tPRCReverb *const, float t60, LEAF *const leaf)</div><div class="ttdoc">Initialize a tPRCReverb to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:22</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_gab035568f53e3afa55e7ca24770ece876"><div class="ttname"><a href="group__tdattorroreverb.html#gab035568f53e3afa55e7ca24770ece876">tDattorroReverb_setHP</a></div><div class="ttdeci">void tDattorroReverb_setHP(tDattorroReverb *const, float freq)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:763</div></div>
<div class="ttc" id="agroup__tprcreverb_html_gacb56b78580c95fd6fefbd7346bf6e6b0"><div class="ttname"><a href="group__tprcreverb.html#gacb56b78580c95fd6fefbd7346bf6e6b0">tPRCReverb_setMix</a></div><div class="ttdeci">void tPRCReverb_setMix(tPRCReverb *const, float mix)</div><div class="ttdoc">Set mix between dry input and wet output signal.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:98</div></div>
<div class="ttc" id="agroup__tnreverb_html_gac8ae2782156ef22133de8acd9f4fe6fa"><div class="ttname"><a href="group__tnreverb.html#gac8ae2782156ef22133de8acd9f4fe6fa">tNReverb_tickStereo</a></div><div class="ttdeci">void tNReverb_tickStereo(tNReverb *const rev, float input, float *output)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:305</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga8286f438259920862757bac42c208ec4"><div class="ttname"><a href="group__tdattorroreverb.html#ga8286f438259920862757bac42c208ec4">tDattorroReverb_setSize</a></div><div class="ttdeci">void tDattorroReverb_setSize(tDattorroReverb *const, float size)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:772</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_gad857360fa2a7ec20d27256a13b3483e7"><div class="ttname"><a href="group__tdattorroreverb.html#gad857360fa2a7ec20d27256a13b3483e7">tDattorroReverb_tick</a></div><div class="ttdeci">float tDattorroReverb_tick(tDattorroReverb *const, float input)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:497</div></div>
<div class="ttc" id="agroup__tnreverb_html_gad13adebe50c0f7af789ee4866720ee41"><div class="ttname"><a href="group__tnreverb.html#gad13adebe50c0f7af789ee4866720ee41">tNReverb_tick</a></div><div class="ttdeci">float tNReverb_tick(tNReverb *const, float input)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:248</div></div>
<div class="ttc" id="agroup__tnreverb_html_ga3f5f7bc51b7243b388b9efce99c4d409"><div class="ttname"><a href="group__tnreverb.html#ga3f5f7bc51b7243b388b9efce99c4d409">tNReverb_init</a></div><div class="ttdeci">void tNReverb_init(tNReverb *const, float t60, LEAF *const leaf)</div><div class="ttdoc">Initialize a tNReverb to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:147</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga3ea62bc97dde4dfb099373a19b699024"><div class="ttname"><a href="group__tdattorroreverb.html#ga3ea62bc97dde4dfb099373a19b699024">tDattorroReverb_setInputDelay</a></div><div class="ttdeci">void tDattorroReverb_setInputDelay(tDattorroReverb *const, float preDelay)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:805</div></div>
<div class="ttc" id="agroup__tnreverb_html_ga5fd99fec8124a8874fd3ac460a24f670"><div class="ttname"><a href="group__tnreverb.html#ga5fd99fec8124a8874fd3ac460a24f670">tNReverb_free</a></div><div class="ttdeci">void tNReverb_free(tNReverb *const)</div><div class="ttdoc">Free a tNReverb from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:197</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_gae51b1343ff796699056c38c8b0284457"><div class="ttname"><a href="group__tdattorroreverb.html#gae51b1343ff796699056c38c8b0284457">tDattorroReverb_initToPool</a></div><div class="ttdeci">void tDattorroReverb_initToPool(tDattorroReverb *const, tMempool *const)</div><div class="ttdoc">Initialize a tDattorroReverb to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:378</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga1fbf4d2737ea1b0b97a01178e4d1877d"><div class="ttname"><a href="group__tdattorroreverb.html#ga1fbf4d2737ea1b0b97a01178e4d1877d">tDattorroReverb_init</a></div><div class="ttdeci">void tDattorroReverb_init(tDattorroReverb *const, LEAF *const leaf)</div><div class="ttdoc">Initialize a tDattorroReverb to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:373</div></div>
<div class="ttc" id="agroup__tnreverb_html_gab915282eb337ebbf4ced8e20827d082b"><div class="ttname"><a href="group__tnreverb.html#gab915282eb337ebbf4ced8e20827d082b">tNReverb_setMix</a></div><div class="ttdeci">void tNReverb_setMix(tNReverb *const, float mix)</div><div class="ttdoc">Set mix between dry input and wet output signal.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:227</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga6bdaee9a877fb5258242b38c7129e87f"><div class="ttname"><a href="group__tdattorroreverb.html#ga6bdaee9a877fb5258242b38c7129e87f">tDattorroReverb_setFeedbackFilter</a></div><div class="ttdeci">void tDattorroReverb_setFeedbackFilter(tDattorroReverb *const, float freq)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:823</div></div>
<div class="ttc" id="agroup__tprcreverb_html_gad297a10c21ece9dbca81234144693ccb"><div class="ttname"><a href="group__tprcreverb.html#gad297a10c21ece9dbca81234144693ccb">tPRCReverb_initToPool</a></div><div class="ttdeci">void tPRCReverb_initToPool(tPRCReverb *const, float t60, tMempool *const)</div><div class="ttdoc">Initialize a tPRCReverb to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:27</div></div>
<div class="ttc" id="agroup__tprcreverb_html_ga38fca3e880e0c5876453d680aa4ed02f"><div class="ttname"><a href="group__tprcreverb.html#ga38fca3e880e0c5876453d680aa4ed02f">tPRCReverb_free</a></div><div class="ttdeci">void tPRCReverb_free(tPRCReverb *const)</div><div class="ttdoc">Free a tPRCReverb from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:66</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga61767ff6ff79c978ccd31533ab528b5e"><div class="ttname"><a href="group__tdattorroreverb.html#ga61767ff6ff79c978ccd31533ab528b5e">tDattorroReverb_setFreeze</a></div><div class="ttdeci">void tDattorroReverb_setFreeze(tDattorroReverb *const rev, uint32_t freeze)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:733</div></div>
<div class="ttc" id="agroup__tprcreverb_html_ga778bb9ee511e3aa263b4b368fa898e05"><div class="ttname"><a href="group__tprcreverb.html#ga778bb9ee511e3aa263b4b368fa898e05">tPRCReverb_setT60</a></div><div class="ttdeci">void tPRCReverb_setT60(tPRCReverb *const, float t60)</div><div class="ttdoc">Set reverb time in seconds.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:85</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga397ca662f24dc8850d68fb2d9f134e75"><div class="ttname"><a href="group__tdattorroreverb.html#ga397ca662f24dc8850d68fb2d9f134e75">tDattorroReverb_setFeedbackGain</a></div><div class="ttdeci">void tDattorroReverb_setFeedbackGain(tDattorroReverb *const, float gain)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:833</div></div>
<div class="ttc" id="agroup__tnreverb_html_gaa349525bb82ec4c02de42d9571cc4bb3"><div class="ttname"><a href="group__tnreverb.html#gaa349525bb82ec4c02de42d9571cc4bb3">tNReverb_clear</a></div><div class="ttdeci">void tNReverb_clear(tNReverb *const)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:233</div></div>
<div class="ttc" id="astruct_l_e_a_f_html"><div class="ttname"><a href="struct_l_e_a_f.html">LEAF</a></div><div class="ttdoc">Struct for an instance of LEAF.</div><div class="ttdef"><b>Definition:</b> leaf-global.h:31</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga7f6787dc77153fe5445aa4b463d52806"><div class="ttname"><a href="group__tdattorroreverb.html#ga7f6787dc77153fe5445aa4b463d52806">tDattorroReverb_clear</a></div><div class="ttdeci">void tDattorroReverb_clear(tDattorroReverb *const)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:484</div></div>
<div class="ttc" id="agroup__tprcreverb_html_gac7f9a1553c85d1aefc722242a4d60df7"><div class="ttname"><a href="group__tprcreverb.html#gac7f9a1553c85d1aefc722242a4d60df7">tPRCReverb_clear</a></div><div class="ttdeci">void tPRCReverb_clear(tPRCReverb *const)</div></div>
<div class="ttc" id="agroup__tdattorroreverb_html_ga58a92c0ece1d13df4b6e860c76d5bc4e"><div class="ttname"><a href="group__tdattorroreverb.html#ga58a92c0ece1d13df4b6e860c76d5bc4e">tDattorroReverb_setInputFilter</a></div><div class="ttdeci">void tDattorroReverb_setInputFilter(tDattorroReverb *const, float freq)</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:814</div></div>
<div class="ttc" id="agroup__tnreverb_html_ga7706f638cebfe55b14524e4a79889046"><div class="ttname"><a href="group__tnreverb.html#ga7706f638cebfe55b14524e4a79889046">tNReverb_initToPool</a></div><div class="ttdeci">void tNReverb_initToPool(tNReverb *const, float t60, tMempool *const)</div><div class="ttdoc">Initialize a tNReverb to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-reverb.c:152</div></div>
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
</body>
</html>
